package jnpf.util;

import java.time.LocalDate;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;

public class DateConvertertUtil {/**
 * 支持将指定格式的日期字符串转换为秒级或毫秒级时间戳
 *
 * @param dateStr 日期字符串，格式需与 pattern 一致
 * @param pattern 日期字符串的格式，例如 "yyyy/M/d"
 * @param isMillis 是否返回毫秒级时间戳，true 表示返回毫秒级，false 表示返回秒级
 * @return 时间戳，单位由 isMillis 参数决定
 */
public static long convertDateToTimestamp(String dateStr, String pattern, boolean isMillis) {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
    LocalDate localDate = LocalDate.parse(dateStr, formatter);
    if (isMillis) {
        return localDate.atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli();
    }
    return localDate.atStartOfDay(ZoneOffset.UTC).toEpochSecond();
}

}
